home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / gle / util / fitz / fio.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-29  |  1.0 KB  |  49 lines

  1. #include <stdio.h>
  2. #ifndef NULL
  3. /* ANSI C */
  4. #include "stddef.h"
  5. #endif
  6.  
  7. /*units*/
  8. typedef struct
  9. {    FILE *ufd;    /*0=unconnected*/
  10.     char *ufnm;
  11.     long uinode;
  12.     int url;    /*0=sequential*/
  13.     flag useek;    /*true=can backspace, use dir, ...*/
  14.     flag ufmt;
  15.     flag uprnt;
  16.     flag ublnk;
  17.     flag uend;
  18.     flag uwrt;    /*last io was write*/
  19.     flag uscrtch;
  20. } unit;
  21.  
  22. extern int errno;
  23. extern flag init;
  24. extern cilist *elist;    /*active external io list*/
  25. extern flag reading,external,sequential,formatted;
  26. extern int (*getn)(),(*putn)();    /*for formatted io*/
  27. extern FILE *cf;    /*current file*/
  28. extern unit *curunit;    /*current unit*/
  29. extern unit units[];
  30. #define err(f,m,s) {if(f) errno= m; else fatal(m,s); return(m);}
  31.  
  32. /*Table sizes*/
  33. #define MXUNIT 100
  34.  
  35. extern int recpos;    /*position in current record*/
  36. extern int cursor;    /* offset to move to */
  37. extern int hiwater;    /* so TL doesn't confuse us */
  38.  
  39. #define WRITE    1
  40. #define READ    2
  41. #define SEQ    3
  42. #define DIR    4
  43. #define FMT    5
  44. #define UNF    6
  45. #define EXT    7
  46. #define INT    8
  47.  
  48. #define buf_end(x) (x->_flag & _IONBF ? x->_ptr : x->_base + BUFSIZ)
  49.